package practica2;

public class Segunda {
	
	/**
	 * Devuelve el número de cifras del número natural [n] cuando se expresa en base 10
	 */
	public static int numCifras(int n){
		
		if (n<10){return 1;}
		else{return 1+numCifras(n/10);}				
	}
	
	/**
	 * Devuelve el número de cifras del número natural [n] cuando se exppresa en base [b],
	 * siendo [b] igual o mayor que 2
	 */
	public static int numCifras(int n,int b){
		
		if (n<b){return 1;}
		else{return 1+numCifras(n/b);}		
	}
	
	/**
	 * Devuelve el valor de la cifra del número natural [n] situada en la posición [i],
	 * empezando a contar por su cifra menos significativa, cuando [n] se expresa en base 10
	 */
	public static int cifra( int n, int i){
		
		if (i==1){return n%10;}
		else{return cifra(n/10,i-1);}
	}

	/**
	 * Devuelve el valor de la cifra del número natural [n] situada en la posición [i],
	 * empezando a contar por su cifra menos significativa, cuando [n] se expresa en 
	 * base [b], siendo [b] igual o mayor que 2 
	 */
	public static int cifra( int n, int b,int i){
		
		if (i==1){return n%b;}
		else{return cifra(n/b,i-1);}
		
	}
	/**
	 * Devuelve el valor de la mayor de las cifras del número natural [n] cuando se expresa 
	 * en base 10
	 */
	public static int cifraMayor(int n){
		
		int a;		
		if(n<10)
			return n;
		else{
			if((a = cifraMayor(n/10))<n%10)
				return (n%10);
			else
				return a;
		}
	}	
	
	/**
	 * Devuelve el valor de la mayor de las cifras del número natural [n] cuando se expresa 
	 * en base [b], siendo [b] igual o mayor que 2
	 */
	public static int cifraMayor(int n, int b){
		int a;		
		if(n<b)
			return n;
		else{
			if((a = cifraMayor(n/b))<n%b)
				return (n%b);
			else
				return a;
		}
		
	}
	/**
	 * Devuelve la suma de las cifras del número natural [n] cuando [n] se expresa en base 10 
	 */
	public static int sumaCifras(int n){
		
		if (n<10){return n;}
		else {return n%10+sumaCifras(n/10);}
		
	}
	/**
	 * Devuelve la suma de las cifras del número natural [n] cuando [n] se expresa en 
	 * base [b] igual o mayor que 2 
	 */
	public static int sumaCifras(int n,int b){
		
		if (n<b){return n;}
		else {return n%b+sumaCifras(n/b);}
		
	}
	
	public static void main (String [] args){
		System.out.println(cifraMayor(875821));
	}	
	
}
